#include <stdio.h>
#include <sys/types.h>
#include <sys/stat.h>
#include <sys/fcntl.h>
#include <string.h>
#include <stdlib.h>
#include <unistd.h>

int main()
{
    int fd = open("log.txt",O_RDONLY);
    if(fd < 0)
    {
        perror("open");
        exit(1);
    }
    char buffer[64];
    dup2(fd,0);
    while(1)
    {
        if(!fgets(buffer,sizeof(buffer),stdin)) break;
        printf("%s",buffer);
    }
    return 0;
}





//int main()
//{
//    int fd = open("log.txt",O_CREAT | O_WRONLY | O_TRUNC,0666);
//    dup2(fd,1);
//    printf("hello kivotos\n");
//    return 0;
//}





//int main()
// {
//     int fd1 = open("log1.txt",O_CREAT | O_WRONLY | O_TRUNC,0666);
//     int fd2 = open("log2.txt",O_CREAT | O_WRONLY | O_TRUNC,0666);
//     int fd3 = open("log3.txt",O_CREAT | O_WRONLY | O_TRUNC,0666);
//     printf("%d\n",fd1);
//     printf("%d\n",fd2);
//     printf("%d\n",fd3);
//     return 0;
// }



//int main()
//{
//    int fd = open("log.txt",O_RDONLY);
//    if(fd < 0)
//    {
//        perror("open");
//        exit(1);
//    }
//   // const char* msg = "hello kivotos\n";
//   // write(fd,msg,strlen(msg));
//    
//    char buffer[64];
//    int n = read(fd,buffer,sizeof(buffer)-1);
//    if(n>0)
//    {
//        buffer[n] = 0;
//        printf("%s",buffer);
//    }
//    close(fd);
//   
//    return 0;
//}
